The Performance of Holding Versus Releasing Locks in a Multiprogrammed Multiprocessor
نویسندگان
چکیده
In a multiprogrammed multiprocessor system, existing lock based mechanisms hold the lock for a task during a context-switch. In this case, the time that a task holds a lock can be greatly increased, resulting in a wasted lock utilization and an increase in the average response time for tasks using the lock. An option for avoiding this problem is to release the lock held by a task during a context-switch. The lock is reacquired when the task executes in the next quantum. In this paper, we compare the performance of releasing versus holding a lock during a critical section. We discuss our implementation, the ICSM-R algorithm, as implemented on a multiprocessor system. Next, we develop an analytical performance model, and validate it with a simulation. We study the various parameters under which the ICSM-R algorithm outperforms lock-based algorithms. We nd that if the critical section execution time is 50% or less of the time quantum, ICSM-R has better performance than locking alone, reducing response times and improving scalability.
منابع مشابه
Relative Performance of Preemption-Safe Locking and Non-Blocking Synchronization on Multiprogrammed Shared Memory Multiprocessors
Most multiprocessors are multiprogrammed to achieve acceptable response time. Unfortunately, inopportune preemption may significantly degrade the performance of synchronized parallel applications. To address this problem, researchers have developed two principal strategies for concurrent, atomic update of shared data structures: (1) preemption-safe locking and (2) non-blocking (lock-free) algor...
متن کاملNonblocking Algorithms and Preemption-Safe Locking on Multiprogrammed Shared Memory
Most multiprocessors are multiprogrammed to achieve acceptable response time and to increase their utilization. Unfortunately, inopportune preemption may significantly degrade the performance of synchronized parallel applications. To address this problem, researchers have developed two principal strategies for a concurrent, atomic update of shared data structures: (1) preemption-safe locking an...
متن کاملConcurrent Update on Multiprogrammed Shared Memory Multiprocessors
Most multiprocessors are multiprogrammed in order to achieve acceptable response time and to increase utilization. Unfortunately, inopportune preemption may significantly degrade the performance of synchronized parallel applications. To address this problem, researchers have developed two principal strategies for concurrent, atomic update of shared data structures: preemption-safe locking and n...
متن کاملPreemption Adaptivity in Time-Published Queue-Based Spin Locks
The proliferation of multiprocessor servers and multithreaded applications has increased the demand for high-performance synchronization. Traditional scheduler-based locks incur the overhead of a full context switch between threads and are thus unacceptably slow for many applications. Spin locks offer low overhead, but they either scale poorly on large-scale SMPs (test-and-set style locks) or b...
متن کاملNonblocking Algorithms and Preemption-Safe Locking on Multiprogrammed Shared Memory Multiprocessors
Most multiprocessors are multiprogrammed in order to achieve acceptable response time and to increase their utilization. Unfortunately, inopportune preemption may significantly degrade the performance of synchronized parallel applications. To address this problem, researchers have developed two principal strategies for concurrent, atomic update of shared data structures: (1) preemption-safe loc...
متن کامل